﻿///////////////////////////////////////////////////////////////////////////////
// Copyright 2016 lingzimaike@gmail.com
// GPLv2
// Author: lingzimaike
///////////////////////////////////////////////////////////////////////////////

#include "papa/util/string.h"

namespace papa {
namespace util {

    Tokens StrSplit(const ::std::string& src, const ::std::string& sep)
    {
        Tokens tokens;
        ::std::string token;
        for (std::string::const_iterator i = src.begin(); i != src.end(); ++i)
        {
            if (sep.find(*i) != std::string::npos)
            {
                if (token.length()) { 
                    tokens.push_back(token); 
                }
                token = "";
            }
            else
                token += *i;
        }
        if (token.length()) { 
            tokens.push_back(token); 
        }

        return tokens;
    }

}}  // namespace papa::util